package cn.yiueil.entity;

import java.time.LocalDateTime;
import java.util.*;

public class User {

    //region 基本类型
    private Long id;
    private Boolean active;//是否在线
    private String name;//训练家名称
    //endregion


    //region JDK类型
    /*set、list、map、数组*/
    private List<Pokemon> pokemonList;//宝可梦列表
    private Set<String> titleSet;//称号
    private Map<Integer, Pokemon> pokemonMap;//背包宝可梦列表
    private String[] dex;//已搜集的精灵图鉴id
    private Properties properties;//用户设置
    //endregion

    /*日期类型*/
    private LocalDateTime createTime;//创建时间


    public User() {
    }

    public User(Long id, String name) {
        this.id = id;
        this.name = name;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public List<Pokemon> getPokemonList() {
        return pokemonList;
    }

    public void setPokemonList(List<Pokemon> pokemonList) {
        this.pokemonList = pokemonList;
    }

    public Set<String> getTitleSet() {
        return titleSet;
    }

    public void setTitleSet(Set<String> titleSet) {
        this.titleSet = titleSet;
    }

    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }

    public Map<Integer, Pokemon> getPokemonMap() {
        return pokemonMap;
    }

    public void setPokemonMap(Map<Integer, Pokemon> pokemonMap) {
        this.pokemonMap = pokemonMap;
    }

    public String[] getDex() {
        return dex;
    }

    public void setDex(String[] dex) {
        this.dex = dex;
    }

    public Properties getProperties() {
        return properties;
    }

    public void setProperties(Properties properties) {
        this.properties = properties;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", active=" + active +
                ", name='" + name + '\'' +
                ", pokemonList=" + pokemonList +
                ", titleSet=" + titleSet +
                ", pokemonMap=" + pokemonMap +
                ", dex=" + Arrays.toString(dex) +
                ", properties=" + properties +
                ", createTime=" + createTime +
                '}';
    }
}
